Coloring Register Pairs 1

نویسندگان

  • Preston Briggs
  • Keith D. Cooper
  • Linda Torczon
چکیده

Many architectures require that a program use pairs of adjacent registers to hold double-precision oating-point values. Register allocators based on Chaitin's graph-coloring technique have trouble with programs that contain both single-register values and values that require adjacent pairs of registers. In particular, Chaitin's algorithm often produces excessive spilling on such programs. This results in underuse of the register set; the extra loads and stores inserted into the program for spilling also slow execution. An allocator based on an optimistic coloring scheme naturally avoids this problem. Such allocators delay the decision to spill a value until late in the allocation process. This eliminates the over-spilling provoked by adjacent register pairs in Chaitin's scheme. This paper discusses the representation of register pairs in a graph coloring allocator. It explains the problems that arise with Chaitin's allocator and shows how the optimistic allocator avoids them. It provides a rationale for determining how to add larger aggregates to the interference graph.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Retargetable Graph-Coloring Register Allocation for Irregular Architectures

Global register allocation is one of the most important optimizations in a compiler. Since the early 80’s, register allocation by graph coloring has been the dominant approach. The traditional formulation of graph-coloring register allocation implicitly assumes a single bank of non-overlapping general-purpose registers and does not handle irregular architectural features like overlapping regist...

متن کامل

Testability Improvement During High-Level Synthesis

Improving testability during the early stages of HighLevel Synthesis (HLS) reduces test hardware overheads, test costs, design iterations, and also improves fault coverage [1]. In this paper, we present a novel register allocation algorithm which is based on weighted graph coloring, targeting testability improvement. 1. Proposed testability model In our register allocation method, we construct ...

متن کامل

Register File Capacity Satisfaction during Scheduling

In code generation of DSP code for distributed register files architectures the register binding, if not treated properly, becomes a complex problem to be solved. This is also the case for high level synthesis of DSP circuits with limited number of registers. A better way to deal with register file capacity constraints is to alternate between register binding and scheduling in a way that a deci...

متن کامل

What’s Wrong with Graph Coloring?

Graph coloring is the de facto standard technique for register allocation within a compiler. In this paper we examine the intuition that a better coloring algorithm results in better register allocation. By replacing the coloring phase of the gcc compiler’s register allocator with an optimal coloring algorithm, we demonstrate both the importance of extending the graph coloring model to better e...

متن کامل

Register Allocation with Instruction Scheduling : a New Approach 1

We present a new framework in which considerations of both register allocation and instruction scheduling can be applied uniformly and simultaneously. In this framework an optimal coloring of a graph, called the parallelizable interference graph, provides an optimal register allocation and preserves the property that no false dependences are introduced, thus all the options for parallelism are ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992